﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace E1_eMart.user
{
    public partial class bidding_detail : System.Web.UI.Page
    {
        public TaiKhoan account = new TaiKhoan();
        protected int loaiTaiKhoan = -1;
        protected SanPham sanPham = new SanPham();
        protected int msp = -1;

        protected void Page_Load(object sender, EventArgs e)
        {
            DataClasses1DataContext edata = new DataClasses1DataContext();            
            msp = int.Parse(Request.Params["msp"].ToString());            
            var itemQuery1 = from sp in edata.SanPhams
                             where sp.MaSanPham == msp
                             select sp;
            sanPham = itemQuery1.ToList()[0];
            
            //
            if (Session["username"] == null)
            {
                return;
            }
            account = ((TaiKhoan)Session["username"]);
            loaiTaiKhoan = (int)account.MaLoaiTaiKhoan;
        }

        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                Label lb = (Label)e.Row.FindControl("Label1");
                int mtk = (int)GridView1.DataKeys[e.Row.RowIndex][1];
                DataClasses1DataContext edata = new DataClasses1DataContext();
                var itemQuery1 = from tk in edata.TaiKhoans
                                 where tk.MaTaiKhoan == mtk
                                 select tk;
                TaiKhoan taiKhoan = new TaiKhoan();
                taiKhoan = itemQuery1.ToList()[0];
                lb.Text = taiKhoan.TenTaiKhoan;
            }
        }

        protected void btnOK_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < GridView1.Rows.Count; i++)
            {
                CheckBox cb = (CheckBox)GridView1.Rows[i].FindControl("ckSell");

                //Nếu check thì chuyển tình trạng chi tiết đấu giá thành "Chờ người mua xác nhận"
                if (cb.Checked == true)
                {
                    DataClasses1DataContext edata = new DataClasses1DataContext();
                    int mctdg = (int)GridView1.DataKeys[i][0];
                    var itemQuery3 = from ct in edata.ChiTietDauGias
                                     where ct.MaChiTietDauGia == mctdg
                                     select ct;
                    ChiTietDauGia chiTietDauGia = new ChiTietDauGia();
                    chiTietDauGia = itemQuery3.ToList()[0];
                    chiTietDauGia.TinhTrang = "Chờ người mua xác nhận";
                    edata.SubmitChanges();                    

                    //Chuyển tình trạng sản phẩm thành: "Đấu giá xong, chưa xác nhận chuyển tiền"
                    var itemQuery4 = from sp in edata.SanPhams
                                     where sp.MaSanPham == chiTietDauGia.MaSanPham
                                     select sp;
                    SanPham sanPham = itemQuery4.ToList()[0];
                    sanPham.MaTinhTrangSanPham = 3;
                    edata.SubmitChanges();   
                
                    //Tăng điểm tín nhiệm mua cho người mua (người được check là người đấu giá thành công)
                    TaiKhoan taiKhoanNguoiMua = new TaiKhoan();
                    var itemQuery5 = from tk in edata.TaiKhoans
                                     where tk.MaTaiKhoan == chiTietDauGia.MaTaiKhoan
                                     select tk;
                    taiKhoanNguoiMua = itemQuery5.ToList()[0];
                    taiKhoanNguoiMua.DiemTinCayMua += 10; //Tăng 10 điểm.
                    edata.SubmitChanges();                                        
                }                
                else //Nếu không check thì chuyển tình trạng chi tiết đấu giá thành "Giao dịch thất bại"
                {
                    DataClasses1DataContext edata = new DataClasses1DataContext();
                    int mctdg = (int)GridView1.DataKeys[i][0];
                    var itemQuery3 = from ct in edata.ChiTietDauGias
                                     where ct.MaChiTietDauGia == mctdg
                                     select ct;
                    ChiTietDauGia chiTietDauGia = new ChiTietDauGia();
                    chiTietDauGia = itemQuery3.ToList()[0];
                    chiTietDauGia.TinhTrang = "Giao dịch thất bại";
                    edata.SubmitChanges();                    

                    //Giảm điểm tín nhiệm mua cho người mua (người không được check là người đấu giá thất bại)
                    TaiKhoan taiKhoanNguoiMua = new TaiKhoan();
                    var itemQuery5 = from tk in edata.TaiKhoans
                                     where tk.MaTaiKhoan == chiTietDauGia.MaTaiKhoan
                                     select tk;
                    taiKhoanNguoiMua = itemQuery5.ToList()[0];
                    taiKhoanNguoiMua.DiemTinCayMua -= 10; //Giảm 10 điểm.
                    edata.SubmitChanges();
                }                
            }
            GridView1.DataBind();
        }      
    }
}